package com.fingard.dsp.bank.directbank.gzdsf01.util;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

public class JSONUtil {
	public static <T> T fromJson(String json, Class<T> clz) {
		return new Gson().fromJson(json, clz);
	}

	public static String toJson(Object obj) {
		return new Gson().toJson(obj);
	}
	
	public static List<Map<String, String>> jsonToListMap(String json) {
		return new Gson().fromJson(json, new TypeToken<List<Map<String, String>>>() {}.getType());
	}
	
	public static <T> List<T> jsonToList(String json, Class<T> clazz) {  
		List<T> ObjList = new ArrayList<T>();  
        JsonArray array = new JsonParser().parse(json).getAsJsonArray();  
        for(JsonElement item : array){  
        	ObjList.add(new Gson().fromJson(item, clazz));  
        }  
        return ObjList;  
    }
}
